هذا الهجوم يتم من خلال إغراق سيرفر DHCP بطلبات DISCOVER وهمية حتى يستنفذ إمكانية توفير عناوين IP وعندها لن يكون قادر على تأمين عناوين IP لأجهزة الشبكة الشرعية (منع الخدمة) وهذا النوع من الهجمات يستخدم من قبل المهاجم لربط الهدف مع سيرفر DHCP بديل يؤدي لهجوم رجل في المنتصف MITM Attack – Man-in-the-Middle
في البداية لنقم بالتعرف على DHCP
يمكننا تخصيص عناوين IP للأجهزة بشكل يدوي ولكن هذه الطريقة لا تعتبر مثالية لعدة أسباب، ففي حال وجود عدد كبير من الأجهزة فإن عملية تخصيص العناوين بشكل يدوي ستكون عملية صعبة وفي حال قام مدير الشبكة بتغير قناع الشبكة لتغير بنية الشبكة فسوف يتوجب عليه إعادة تعيين عناوين IP لكل الأجهزة ضمن الشبكة لذلك تم إيجاد آلية تؤمن العنونة بشكل اتوماتيكي وهي:
DHCP – Dynamic Host Configuration Protocol
والتي تقوم بتخصيص العناوين لكل الأجهزة ضمن الشبكة بشكل اتوماتيكي
كيف يعملDHCP؟
المعيار RFC 2131 عرف آلية عمل هذا البرتوكول والذي يعتبر client-server Protocol وهو يؤمن آلية العنونة بشكل تلقائي حيث يتم اعداد سيرفر DHCP بمجال من العناوين يسمى pool وسيقوم بتخصيص عنوان لكل جهاز يتصل بالشبكة ويؤمن للجهاز الأمور التالية:
- IP aaddress
- Network mask
- Default gateway address
- DNS Server address
- Domain name
البرتكول DHCP يستخدم UDP لحركة البيانات عبر البورت 67 في السيرفر والبورت 68 للمستخدم وله عدد من الرسائل وهي:
- DHCPDISCOVERY: تستخدم من قبل المستخدم لاكتشاف سيرفرات DHCP داخل الشبكة وتتم من خلال إرسال broadcast باستخدام العنوان 255.255.255.255 وعادةً ما يكون عنوان المصدر هو 0.0.0.0
- DHCPOFFER: ترسل من قبل سيرفر DHCP إلى المستخدم وتتضمن عنوان IP مقترح يسمى YIADDR وقناع الشبكة وتحوي ايضاً على معرف السيرفر server ID والذي هو عنوان IP الخاص بالسيرفر ويسمى SIADDR ، من الممكن أن يتواجد أكثر من سيرفر DHCP ضمن نفس الشبكة وفي هذه الحالة سيتم إرسال أكثر من رسالة DHCPOFFER كإجابة على DHCPDISCOVERY
- DHCPREQUEST: ترسل من المستخدم ك broadcast وهذه الرسالة تستخدم لتأكيد العرض من السيرفر وتتضمن SIADDR الخاص بسيرفر DHCP الذي تم اختياره وهذه الرسالة ترسل بشكل broadcast وليس unicast لتأمين معلومات لسيرفر DHCP الذي لم يتم اختياره من قبل المستخدم
- DHCP ACKNOWLDGEMENT (DHCPACK): ترسل من قبل السيرفر إلى المستخدم لتأكيد عنوان IP المقترح ومعلومات أخرى
- DHCP Not ACKNWLEDGRD (DHCPNACK): ترسل من قبل السيرفر إلى المستخدم في حالة تم استخدام عنوان IP بعد رسالة DHCPOFFER
- DHCPDECLINE: ترسل من قبل المستخدم إلى السيرفر للإشارة أن العنوان المخصص تم استخدامه
- DHCPRELEASE: ترسل من قبل المستخدم إلى السيرفر لتحرير عنوان IP المخصص عند انهاء الاتصال
- DHCPINFORM: ترسل من قبل المستخدم إلى السيرفر وتستخدم لطلب إعدادات الشبكة الإضافية وبعد أن يحصل المستخدم على عنوان IP

- عند أول اتصال للجهاز بالشبكة فهو لا يملك عنوان IP وسوف يقوم بارسال حزمة DHCPDISCOVERY لاكتشاف سيرفرات DHCP داخل الشبكة ، من الممكن أن تحوي نفس الشبكة على أكثر من سيرفر DHCP
- كل سيرفر سيرد برسالة DHCPOFFER
- المستخدم يستقبل أكثر من عرض ويختار أحدها ويرد برسالة DHCPREQUEST
- سيرفر DHCP الذي تم اختياره سيرد على المستخدم برسالة DHCPACK لتأكيد عملية تخصيص عنوان IP
هجوم DHCP Starvation:
هذا الهجوم يتم من خلال إغراق سيرفر DHCP بطلبات DISCOVER وهمية حتى يستنفذ إمكانية توفير عناوين IP وعندها لن يكون قادر على تأمين عناوين IP لأجهزة الشبكة الشرعية (منع الخدمة) وهذا النوع من الهجمات يستخدم من قبل المهاجم لربط الهدف مع سيرفر DHCP بديل يؤدي لهجوم رجل في المنتصف MITM Attack – Man-in-the-Middle
لنقم بتنفيذ هذا الهجوم بشكل يدوي من خلال كتابة سكريبت بلغة البايثون يقوم بخلق طلبات DHCP وهمية وارسالها بشكل متكرر مع عناوين MAC وهمية لإغراق سيرفر DHCP واستنفاذ كل عناوين IP المتاحة لديه
بيئة الاختبار (نظام التشغيل كالي لينكس جهاز المهاجم)

في البداية لنقم باستيراد scapy إن لم تكن منصبة لديك مسبقاً يمكنك تنصيبها باستخدام التعليمة التالية على نظام كالي لينكس

لنقم بخلق طلبات DHCP Discover لها:
- عنوان الوجهة broadcast
- عنوان MAC عشوائي كعنوان للمصدر
- عنوان IP للمصدر 0.0.0.0 (آلية عمل طلبات DHCP – الجهاز لا يملك عنوان IP ويرغب بالحصول على عنوان من سيرفر DHCP)
- Source port = 68
- Destination port = 67
- نوع الرسالة DHCP discover
وبعد خلق هذا الطلب لنقم بتكرار إرساله عبر كرت الشبكة eth0
الآن لنقم بتنفيذ الكود الخاص بعملية الهجوم

أثناء تنفيذ الهجوم لنقم بمراقبة حركة البيانات باستخدام التعليمة tcpdump

كما تلاحظ لقد قمنا بإغراق سيرفر DHCP بالطلبات باستخدام عناوين MAC وهمية وأي جهاز جديد يحاول الاتصال بنفس الشبكة لن يكون قادر على الحصول على عنوان IP من سيرفر DHCP
لا تقم باستهداف أي شبكة لا تملكها أو لا تملك صلاحية يٌسمح لك من خلالها القيام بذلك، لا تقم بأي عمل غير قانوني أو غير اخلاقي

في مقال قادم سنتعرف على طرق الحماية ضد هذا الهجوم وهجمات الطبقة الثانية بشكل عام